/*! art-template@4.13.2 for browser | https://github.com/aui/art-template */ ! function (e, t) {
    "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.template = t() : e.template = t()
}("undefined" != typeof self ? self : this, function () {
    return function (e) {
        function t(r) {
            if (n[r]) return n[r].exports;
            var i = n[r] = {
                i: r,
                l: !1,
                exports: {}
            };
            return e[r].call(i.exports, i, i.exports, t), i.l = !0, i.exports
        }
        var n = {};
        return t.m = e, t.c = n, t.d = function (e, n, r) {
            t.o(e, n) || Object.defineProperty(e, n, {
                configurable: !1,
                enumerable: !0,
                get: r
            })
        }, t.n = function (e) {
            var n = e && e.__esModule ? function () {
                return e["default"]
            } : function () {
                return e
            };
            return t.d(n, "a", n), n
        }, t.o = function (e, t) {
            return Object.prototype.hasOwnProperty.call(e, t)
        }, t.p = "", t(t.s = 4)
    }([function (e, t, n) {
        "use strict";
        var r = n(6),
            i = n(2),
            o = n(22),
            s = function (e, t) {
                t.onerror(e, t);
                var n = function () {
                    return "{Template Error}"
                };
                return n.mappings = [], n.sourcesContent = [], n
            },
            a = function u(e) {
                var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
                "string" != typeof e ? t = e : t.source = e, t = i.$extend(t), e = t.source, !0 === t.debug && (t.cache = !1, t.minimize = !1, t.compileDebug = !0), t.compileDebug && (t.minimize = !1), t.filename && (t.filename = t.resolveFilename(t.filename, t));
                var n = t.filename,
                    a = t.cache,
                    c = t.caches;
                if (a && n) {
                    var l = c.get(n);
                    if (l) return l
                }
                if (!e) try {
                    e = t.loader(n, t), t.source = e
                } catch (m) {
                    var f = new o({
                        name: "CompileError",
                        path: n,
                        message: "template not found: " + m.message,
                        stack: m.stack
                    });
                    // if (t.bail) throw f;
                    return s(f, t)
                }
                var p = void 0,
                    h = new r(t);
                try {
                    p = h.build()
                } catch (f) {
                    if (f = new o(f), t.bail) throw f;
                    return s(f, t)
                }
                var d = function (e, n) {
                    try {
                        return p(e, n)
                    } catch (f) {
                        if (!t.compileDebug) return t.cache = !1, t.compileDebug = !0, u(t)(e, n);
                        if (f = new o(f), t.bail) throw f;
                        return s(f, t)()
                    }
                };
                return d.mappings = p.mappings, d.sourcesContent = p.sourcesContent, d.toString = function () {
                    return p.toString()
                }, a && n && c.set(n, d), d
            };
        a.Compiler = r, e.exports = a
    }, function (e, t) {
        Object.defineProperty(t, "__esModule", {
            value: !0
        }), t["default"] = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyu]{1,5}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g, t.matchToToken = function (e) {
            var t = {
                type: "invalid",
                value: e[0]
            };
            return e[1] ? (t.type = "string", t.closed = !(!e[3] && !e[4])) : e[5] ? t.type = "comment" : e[6] ? (t.type = "comment", t.closed = !!e[7]) : e[8] ? t.type = "regex" : e[9] ? t.type = "number" : e[10] ? t.type = "name" : e[11] ? t.type = "punctuator" : e[12] && (t.type = "whitespace"), t
        }
    }, function (e, t, n) {
        "use strict";

        function r() {
            this.$extend = function (e) {
                return e = e || {}, o(e, e instanceof r ? e : this)
            }
        }
        var i = n(10),
            o = n(12),
            s = n(13),
            a = n(14),
            u = n(15),
            c = n(16),
            l = n(17),
            f = n(18),
            p = n(19),
            h = n(21),
            d = "undefined" == typeof window,
            m = {
                source: null,
                filename: null,
                rules: [f, l],
                escape: !0,
                debug: !!d && "production" !== process.env.NODE_ENV,
                bail: !0,
                cache: !0,
                minimize: !0,
                compileDebug: !1,
                resolveFilename: h,
                include: s,
                htmlMinifier: p,
                htmlMinifierOptions: {
                    collapseWhitespace: !0,
                    minifyCSS: !0,
                    minifyJS: !0,
                    ignoreCustomFragments: []
                },
                onerror: a,
                loader: c,
                caches: u,
                root: "/",
                extname: ".art",
                ignore: [],
                imports: i
            };
        r.prototype = m, e.exports = new r
    }, function (e, t) {}, function (e, t, n) {
        "use strict";
        var r = n(5),
            i = n(0),
            o = n(23),
            s = function (e, t) {
                return t instanceof Object ? r({
                    filename: e
                }, t) : i({
                    filename: e,
                    source: t
                })
            };
        s.render = r, s.compile = i, s.defaults = o, e.exports = s
    }, function (e, t, n) {
        "use strict";
        var r = n(0),
            i = function (e, t, n) {
                return r(e, n)(t)
            };
        e.exports = i
    }, function (e, t, n) {
        "use strict";

        function r(e, t, n) {
            return t in e ? Object.defineProperty(e, t, {
                value: n,
                enumerable: !0,
                configurable: !0,
                writable: !0
            }) : e[t] = n, e
        }

        function i(e) {
            if (Array.isArray(e)) {
                for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
                return n
            }
            return Array.from(e)
        }

        function o(e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }
        var s = function () {
                function e(e, t) {
                    for (var n = 0; n < t.length; n++) {
                        var r = t[n];
                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
                    }
                }
                return function (t, n, r) {
                    return n && e(t.prototype, n), r && e(t, r), t
                }
            }(),
            a = n(7),
            u = n(9),
            c = "$data",
            l = "$imports",
            f = "print",
            p = "include",
            h = "extend",
            d = "block",
            m = "$$out",
            v = "$$line",
            g = "$$blocks",
            y = "$$slice",
            b = "$$from",
            w = "$$options",
            x = function (e, t) {
                return Object.hasOwnProperty.call(e, t)
            },
            k = JSON.stringify,
            E = function () {
                function e(t) {
                    var n, s, a = this;
                    o(this, e);
                    var x = t.source,
                        k = t.minimize,
                        E = t.htmlMinifier;
                    if (this.options = t, this.stacks = [], this.context = [], this.scripts = [], this.CONTEXT_MAP = {}, this.ignore = [c, l, w].concat(i(t.ignore)), this.internal = (n = {}, r(n, m, "''"), r(n, v, "[0,0]"), r(n, g, "arguments[1]||{}"), r(n, b, "null"), r(n, f, "function(){var s=''.concat.apply('',arguments);" + m + "+=s;return s}"), r(n, p, "function(src,data){var s=" + w + ".include(src,data||" + c + ",arguments[2]||" + g + "," + w + ");" + m + "+=s;return s}"), r(n, h, "function(from){" + b + "=from}"), r(n, y, "function(c,p,s){p=" + m + ";" + m + "='';c();s=" + m + ";" + m + "=p+s;return s}"), r(n, d, "function(){var a=arguments,s;if(typeof a[0]==='function'){return " + y + "(a[0])}else if(" + b + "){if(!" + g + "[a[0]]){" + g + "[a[0]]=" + y + "(a[1])}else{" + m + "+=" + g + "[a[0]]}}else{s=" + g + "[a[0]];if(typeof s==='string'){" + m + "+=s}else{s=" + y + "(a[1])}return s}}"), n), this.dependencies = (s = {}, r(s, f, [m]), r(s, p, [m, w, c, g]), r(s, h, [b, p]), r(s, d, [y, b, m, g]), s), this.importContext(m), t.compileDebug && this.importContext(v), k) try {
                        x = E(x, t)
                    } catch (T) {}
                    this.source = x, this.getTplTokens(x, t.rules, this).forEach(function (e) {
                        e.type === u.TYPE_STRING ? a.parseString(e) : a.parseExpression(e)
                    })
                }
                return s(e, [{
                    key: "getTplTokens",
                    value: function () {
                        return u.apply(undefined, arguments)
                    }
                }, {
                    key: "getEsTokens",
                    value: function (e) {
                        return a(e)
                    }
                }, {
                    key: "getVariables",
                    value: function (e) {
                        var t = !1;
                        return e.filter(function (e) {
                            return "whitespace" !== e.type && "comment" !== e.type
                        }).filter(function (e) {
                            return "name" === e.type && !t || (t = "punctuator" === e.type && "." === e.value, !1)
                        }).map(function (e) {
                            return e.value
                        })
                    }
                }, {
                    key: "importContext",
                    value: function (e) {
                        var t = this,
                            n = "",
                            r = this.internal,
                            i = this.dependencies,
                            o = this.ignore,
                            s = this.context,
                            a = this.options,
                            u = a.imports,
                            f = this.CONTEXT_MAP;
                        x(f, e) || -1 !== o.indexOf(e) || (x(r, e) ? (n = r[e], x(i, e) && i[e].forEach(function (e) {
                            return t.importContext(e)
                        })) : n = "$escape" === e || "$each" === e || x(u, e) ? l + "." + e : c + "." + e, f[e] = n, s.push({
                            name: e,
                            value: n
                        }))
                    }
                }, {
                    key: "parseString",
                    value: function (e) {
                        var t = e.value;
                        if (t) {
                            var n = m + "+=" + k(t);
                            this.scripts.push({
                                source: t,
                                tplToken: e,
                                code: n
                            })
                        }
                    }
                }, {
                    key: "parseExpression",
                    value: function (e) {
                        var t = this,
                            n = e.value,
                            r = e.script,
                            i = r.output,
                            o = this.options.escape,
                            s = r.code;
                        i && (s = !1 === o || i === u.TYPE_RAW ? m + "+=" + r.code : m + "+=$escape(" + r.code + ")");
                        var a = this.getEsTokens(s);
                        this.getVariables(a).forEach(function (e) {
                            return t.importContext(e)
                        }), this.scripts.push({
                            source: n,
                            tplToken: e,
                            code: s
                        })
                    }
                }, {
                    key: "checkExpression",
                    value: function (e) {
                        for (var t = [
                                [/^\s*}[\w\W]*?{?[\s;]*$/, ""],
                                [/(^[\w\W]*?\([\w\W]*?(?:=>|\([\w\W]*?\))\s*{[\s;]*$)/, "$1})"],
                                [/(^[\w\W]*?\([\w\W]*?\)\s*{[\s;]*$)/, "$1}"]
                            ], n = 0; n < t.length;) {
                            if (t[n][0].test(e)) {
                                var r;
                                e = (r = e).replace.apply(r, i(t[n]));
                                break
                            }
                            n++
                        }
                        try {
                            return new Function(e), !0
                        } catch (o) {
                            return !1
                        }
                    }
                }, {
                    key: "build",
                    value: function () {
                        var e = this.options,
                            t = this.context,
                            n = this.scripts,
                            r = this.stacks,
                            i = this.source,
                            o = e.filename,
                            s = e.imports,
                            a = [],
                            f = x(this.CONTEXT_MAP, h),
                            d = 0,
                            y = function (e, t) {
                                var n = t.line,
                                    i = t.start,
                                    o = {
                                        generated: {
                                            line: r.length + d + 1,
                                            column: 1
                                        },
                                        original: {
                                            line: n + 1,
                                            column: i + 1
                                        }
                                    };
                                return d += e.split(/\n/).length - 1, o
                            },
                            E = function (e) {
                                return e.replace(/^[\t ]+|[\t ]$/g, "")
                            };
                        r.push("function(" + c + "){"), r.push("'use strict'"), r.push(c + "=" + c + "||{}"), r.push("var " + t.map(function (e) {
                            return e.name + "=" + e.value
                        }).join(",")), e.compileDebug ? (r.push("try{"), n.forEach(function (e) {
                            e.tplToken.type === u.TYPE_EXPRESSION && r.push(v + "=[" + [e.tplToken.line, e.tplToken.start].join(",") + "]"), a.push(y(e.code, e.tplToken)), r.push(E(e.code))
                        }), r.push("}catch(error){"), r.push("throw {" + ["name:'RuntimeError'", "path:" + k(o), "message:error.message", "line:" + v + "[0]+1", "column:" + v + "[1]+1", "source:" + k(i), "stack:error.stack"].join(",") + "}"), r.push("}")) : n.forEach(function (e) {
                            a.push(y(e.code, e.tplToken)), r.push(E(e.code))
                        }), f && (r.push(m + "=''"), r.push(p + "(" + b + "," + c + "," + g + ")")), r.push("return " + m), r.push("}");
                        var T = r.join("\n");
                        try {
                            var O = new Function(l, w, "return " + T)(s, e);
                            return O.mappings = a, O.sourcesContent = [i], O
                        } catch (P) {
                            for (var $ = 0, j = 0, _ = 0, S = void 0; $ < n.length;) {
                                var C = n[$];
                                if (!this.checkExpression(C.code)) {
                                    j = C.tplToken.line, _ = C.tplToken.start, S = C.code;
                                    break
                                }
                                $++
                            }
                            throw {
                                name: "CompileError",
                                path: o,
                                message: P.message,
                                line: j + 1,
                                column: _ + 1,
                                source: i,
                                generated: S,
                                stack: P.stack
                            }
                        }
                    }
                }]), e
            }();
        E.CONSTS = {
            DATA: c,
            IMPORTS: l,
            PRINT: f,
            INCLUDE: p,
            EXTEND: h,
            BLOCK: d,
            OPTIONS: w,
            OUT: m,
            LINE: v,
            BLOCKS: g,
            SLICE: y,
            FROM: b,
            ESCAPE: "$escape",
            EACH: "$each"
        }, e.exports = E
    }, function (e, t, n) {
        "use strict";
        var r = n(8),
            i = n(1)["default"],
            o = n(1).matchToToken,
            s = function (e) {
                return e.match(i).map(function (e) {
                    return i.lastIndex = 0, o(i.exec(e))
                }).map(function (e) {
                    return "name" === e.type && r(e.value) && (e.type = "keyword"), e
                })
            };
        e.exports = s
    }, function (e, t, n) {
        "use strict";
        var r = {
            "abstract": !0,
            await: !0,
            "boolean": !0,
            "break": !0,
            "byte": !0,
            "case": !0,
            "catch": !0,
            "char": !0,
            "class": !0,
            "const": !0,
            "continue": !0,
            "debugger": !0,
            "default": !0,
            "delete": !0,
            "do": !0,
            "double": !0,
            "else": !0,
            "enum": !0,
            "export": !0,
            "extends": !0,
            "false": !0,
            "final": !0,
            "finally": !0,
            "float": !0,
            "for": !0,
            "function": !0,
            "goto": !0,
            "if": !0,
            "implements": !0,
            "import": !0,
            "in": !0,
            "instanceof": !0,
            "int": !0,
            "interface": !0,
            "let": !0,
            "long": !0,
            "native": !0,
            "new": !0,
            "null": !0,
            "package": !0,
            "private": !0,
            "protected": !0,
            "public": !0,
            "return": !0,
            "short": !0,
            "static": !0,
            "super": !0,
            "switch": !0,
            "synchronized": !0,
            "this": !0,
            "throw": !0,
            "transient": !0,
            "true": !0,
            "try": !0,
            "typeof": !0,
            "var": !0,
            "void": !0,
            "volatile": !0,
            "while": !0,
            "with": !0,
            "yield": !0
        };
        e.exports = function (e) {
            return r.hasOwnProperty(e)
        }
    }, function (e, t, n) {
        "use strict";

        function r(e) {
            var t = new String(e.value);
            return t.line = e.line, t.start = e.start, t.end = e.end, t
        }

        function i(e, t, n) {
            this.type = e, this.value = t, this.script = null, n ? (this.line = n.line + n.value.split(/\n/).length - 1, this.line === n.line ? this.start = n.end : this.start = n.value.length - n.value.lastIndexOf("\n") - 1) : (this.line = 0, this.start = 0), this.end = this.start + this.value.length
        }
        var o = function (e, t) {
            for (var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, o = [new i("string", e)], s = 0; s < t.length; s++)
                for (var a = t[s], u = a.test.ignoreCase ? "ig" : "g", c = new RegExp(a.test.source, u), l = 0; l < o.length; l++) {
                    var f = o[l],
                        p = o[l - 1];
                    if ("string" === f.type) {
                        for (var h = void 0, d = 0, m = [], v = f.value; null !== (h = c.exec(v));) h.index > d && (p = new i("string", v.slice(d, h.index), p), m.push(p)), p = new i("expression", h[0], p), h[0] = r(p), p.script = a.use.apply(n, h), m.push(p), d = h.index + h[0].length;
                        d < v.length && (p = new i("string", v.slice(d), p), m.push(p)), o.splice.apply(o, [l, 1].concat(m)), l += m.length - 1
                    }
                }
            return o
        };
        o.TYPE_STRING = "string", o.TYPE_EXPRESSION = "expression", o.TYPE_RAW = "raw", o.TYPE_ESCAPE = "escape", e.exports = o
    }, function (e, t, n) {
        "use strict";
        (function (t) {
            function n(e) {
                return "string" != typeof e && (e = e === undefined || null === e ? "" : "function" == typeof e ? n(e.call(e)) : JSON.stringify(e)), e
            }

            function r(e) {
                var t = "" + e,
                    n = s.exec(t);
                if (!n) return e;
                var r = "",
                    i = void 0,
                    o = void 0,
                    a = void 0;
                for (i = n.index, o = 0; i < t.length; i++) {
                    switch (t.charCodeAt(i)) {
                        case 34:
                            a = "&#34;";
                            break;
                        case 38:
                            a = "&#38;";
                            break;
                        case 39:
                            a = "&#39;";
                            break;
                        case 60:
                            a = "&#60;";
                            break;
                        case 62:
                            a = "&#62;";
                            break;
                        default:
                            continue
                    }
                    o !== i && (r += t.substring(o, i)), o = i + 1, r += a
                }
                return o !== i ? r + t.substring(o, i) : r
            } /*! art-template@runtime | https://github.com/aui/art-template */
            var i = "undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== t ? t : {},
                o = Object.create(i),
                s = /["&'<>]/;
            o.$escape = function (e) {
                return r(n(e))
            }, o.$each = function (e, t) {
                if (Array.isArray(e))
                    for (var n = 0, r = e.length; n < r; n++) t(e[n], n);
                else
                    for (var i in e) t(e[i], i)
            }, e.exports = o
        }).call(t, n(11))
    }, function (e, t) {
        var n;
        n = function () {
            return this
        }();
        try {
            n = n || Function("return this")() || (0, eval)("this")
        } catch (r) {
            "object" == typeof window && (n = window)
        }
        e.exports = n
    }, function (e, t, n) {
        "use strict";
        var r = Object.prototype.toString,
            i = function (e) {
                return null === e ? "Null" : r.call(e).slice(8, -1)
            },
            o = function s(e, t) {
                var n = void 0,
                    r = i(e);
                if ("Object" === r ? n = Object.create(t || {}) : "Array" === r && (n = [].concat(t || [])), n) {
                    for (var o in e) Object.hasOwnProperty.call(e, o) && (n[o] = s(e[o], n[o]));
                    return n
                }
                return e
            };
        e.exports = o
    }, function (e, t, n) {
        "use strict";
        var r = function (e, t, r, i) {
            var o = n(0);
            return i = i.$extend({
                filename: i.resolveFilename(e, i),
                bail: !0,
                source: null
            }), o(i)(t, r)
        };
        e.exports = r
    }, function (e, t, n) {
        "use strict";
        var r = function (e) {
            // console.error(e.name, e.message)
        };
        e.exports = r
    }, function (e, t, n) {
        "use strict";
        var r = {
            __data: Object.create(null),
            set: function (e, t) {
                this.__data[e] = t
            },
            get: function (e) {
                return this.__data[e]
            },
            reset: function () {
                this.__data = {}
            }
        };
        e.exports = r
    }, function (e, t, n) {
        "use strict";
        var r = "undefined" == typeof window,
            i = function (e) {
                if (r) {
                    return n(3).readFileSync(e, "utf8")
                }
                var t = document.getElementById(e);
                return t.value || t.innerHTML
            };
        e.exports = i
    }, function (e, t, n) {
        "use strict";
        var r = {
            test: /{{([@#]?)[ \t]*(\/?)([\w\W]*?)[ \t]*}}/,
            use: function (e, t, n, i) {
                var o = this,
                    s = o.options,
                    a = o.getEsTokens(i),
                    u = a.map(function (e) {
                        return e.value
                    }),
                    c = {},
                    l = void 0,
                    f = !!t && "raw",
                    p = n + u.shift(),
                    h = function (t, n) {
                        console.warn((s.filename || "anonymous") + ":" + (e.line + 1) + ":" + (e.start + 1) + "\nTemplate upgrade: {{" + t + "}} -> {{" + n + "}}")
                    };
                switch ("#" === t && h("#value", "@value"), p) {
                    case "set":
                        i = "var " + u.join("").trim();
                        break;
                    case "if":
                        i = "if(" + u.join("").trim() + "){";
                        break;
                    case "else":
                        var d = u.indexOf("if");
                        ~d ? (u.splice(0, d + 1), i = "}else if(" + u.join("").trim() + "){") : i = "}else{";
                        break;
                    case "/if":
                        i = "}";
                        break;
                    case "each":
                        l = r._split(a), l.shift(), "as" === l[1] && (h("each object as value index", "each object value index"), l.splice(1, 1));
                        i = "$each(" + (l[0] || "$data") + ",function(" + (l[1] || "$value") + "," + (l[2] || "$index") + "){";
                        break;
                    case "/each":
                        i = "})";
                        break;
                    case "block":
                        l = r._split(a), l.shift(), i = "block(" + l.join(",").trim() + ",function(){";
                        break;
                    case "/block":
                        i = "})";
                        break;
                    case "echo":
                        p = "print", h("echo value", "value");
                    case "print":
                    case "include":
                    case "extend":
                        if (0 !== u.join("").trim().indexOf("(")) {
                            l = r._split(a), l.shift(), i = p + "(" + l.join(",") + ")";
                            break
                        }
                        default:
                            if (~u.indexOf("|")) {
                                var m = a.reduce(function (e, t) {
                                    var n = t.value,
                                        r = t.type;
                                    return "|" === n ? e.push([]) : "whitespace" !== r && "comment" !== r && (e.length || e.push([]), ":" === n && 1 === e[e.length - 1].length ? h("value | filter: argv", "value | filter argv") : e[e.length - 1].push(t)), e
                                }, []).map(function (e) {
                                    return r._split(e)
                                });
                                i = m.reduce(function (e, t) {
                                    var n = t.shift();
                                    return t.unshift(e), "$imports." + n + "(" + t.join(",") + ")"
                                }, m.shift().join(" ").trim())
                            }
                            f = f || "escape"
                }
                return c.code = i, c.output = f, c
            },
            _split: function (e) {
                e = e.filter(function (e) {
                    var t = e.type;
                    return "whitespace" !== t && "comment" !== t
                });
                for (var t = 0, n = e.shift(), r = /\]|\)/, i = [
                        [n]
                    ]; t < e.length;) {
                    var o = e[t];
                    "punctuator" === o.type || "punctuator" === n.type && !r.test(n.value) ? i[i.length - 1].push(o) : i.push([o]), n = o, t++
                }
                return i.map(function (e) {
                    return e.map(function (e) {
                        return e.value
                    }).join("")
                })
            }
        };
        e.exports = r
    }, function (e, t, n) {
        "use strict";
        var r = {
            test: /<%(#?)((?:==|=#|[=-])?)[ \t]*([\w\W]*?)[ \t]*(-?)%>/,
            use: function (e, t, n, r) {
                return n = {
                    "-": "raw",
                    "=": "escape",
                    "": !1,
                    "==": "raw",
                    "=#": "raw"
                } [n], t && (r = "/*" + r + "*/", n = !1), {
                    code: r,
                    output: n
                }
            }
        };
        e.exports = r
    }, function (e, t, n) {
        "use strict";

        function r(e) {
            if (Array.isArray(e)) {
                for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
                return n
            }
            return Array.from(e)
        }
        var i = "undefined" == typeof window,
            o = function (e, t) {
                if (i) {
                    var o, s = n(20).minify,
                        a = t.htmlMinifierOptions,
                        u = t.rules.map(function (e) {
                            return e.test
                        });
                    (o = a.ignoreCustomFragments).push.apply(o, r(u)), e = s(e, a)
                }
                return e
            };
        e.exports = o
    }, function (e, t) {
        ! function (e) {
            e.noop = function () {}
        }("object" == typeof e && "object" == typeof e.exports ? e.exports : window)
    }, function (e, t, n) {
        "use strict";
        var r = "undefined" == typeof window,
            i = /^\.+\//,
            o = function (e, t) {
                if (r) {
                    var o = n(3),
                        s = t.root,
                        a = t.extname;
                    if (i.test(e)) {
                        var u = t.filename,
                            c = !u || e === u,
                            l = c ? s : o.dirname(u);
                        e = o.resolve(l, e)
                    } else e = o.resolve(s, e);
                    o.extname(e) || (e += a)
                }
                return e
            };
        e.exports = o
    }, function (e, t, n) {
        "use strict";

        function r(e, t) {
            if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
        }

        function i(e, t) {
            if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
            return !t || "object" != typeof t && "function" != typeof t ? e : t
        }

        function o(e, t) {
            if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
            e.prototype = Object.create(t && t.prototype, {
                constructor: {
                    value: e,
                    enumerable: !1,
                    writable: !0,
                    configurable: !0
                }
            }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
        }

        function s(e) {
            var t = e.name,
                n = e.source,
                r = e.path,
                i = e.line,
                o = e.column,
                s = e.generated,
                a = e.message;
            if (!n) return a;
            var u = n.split(/\n/),
                c = Math.max(i - 3, 0),
                l = Math.min(u.length, i + 3),
                f = u.slice(c, l).map(function (e, t) {
                    var n = t + c + 1;
                    return (n === i ? " >> " : "    ") + n + "| " + e
                }).join("\n");
            return (r || "anonymous") + ":" + i + ":" + o + "\n" + f + "\n\n" + t + ": " + a + (s ? "\n   generated: " + s : "")
        }
        var a = function (e) {
            function t(e) {
                r(this, t);
                var n = i(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e.message));
                return n.name = "TemplateError", n.message = s(e), Error.captureStackTrace && Error.captureStackTrace(n, n.constructor), n
            }
            return o(t, e), t
        }(Error);
        e.exports = a
    }, function (e, t, n) {
        "use strict";
        e.exports = n(2)
    }])
});